Efficient Batched Oblivious PRF with Applications to Private Set Intersection
高效的批量不经意伪随机函数与隐私集合求交集的应用
我们描述了一种在半诚实对手存在的情况下对伪随机函数进行不经意评估(OPRF)的轻量级协议。在 OPRF 协议中,接收方有一个输入
我们详细探讨了我们的协议在半诚实安全隐私集合求交集(PSI)中的应用。最快的最先进的 PSI 协议(Pinkas 等人,Usenix 2015)是基于高效的 OT 扩展。我们观察到,我们的 OPRF 可以用来消除他们的 PSI 协议对各方项目的比特长度的依赖。我们实现了这两个 PSI 协议变体,发现对于
1 简介
这项工作涉及 OT、OPRF 和 PSI 的构建。我们首先回顾一下这三个基元。
不经意传输:
不经意传输 (Oblivious Transfer) 一直是安全计算领域的一个核心基本要素。事实上,Yao [30] 和 GMW [7,8] 的原始协议都以关键方式使用了 OT。事实上,OT 是安全计算的必要条件和充分条件 [15]。直到 2000 年初,通用安全计算领域通常被视为主要的可行性工作,改善 OT 性能并不是优先研究方向。这种情况在姚氏混淆电路(GC)首次被实现 [20] 和 Ishai 等人 [12] 设计出一个令人惊讶的快速 OT 协议(我们称之为 IKNP)后发生了改变。
IKNP OT 扩展协议 [12] 确实是一块宝石;它允许以计算和发送少量哈希值为代价执行
IKNP 的 OT 扩展,尽管它被广泛和大量使用,但得到的更新却很少。在半诚实模型中,它仍然是最先进的。稳健性是由 Nielsen [23] 添加的,而在恶意设置中,它最近才得到改进 [2,14]。Kolesnikov 和 Kumaresan [18] 提出了对短秘密大小的改进,这是由 GMW 使用案例所激发的。我们使用他们协议中的想法,并将其称为 KK 协议。在引擎盖下,KK [18] 注意到 IKNP 数据表示的一个核心方面可以被抽象地看作是一个重复纠错代码,他们的改进源于使用一个更好的代码。结果是,在成本几乎相同的情况下,对于高达约 256 的 n,取代了
不经意伪随机函数:
不经意伪随机函数(OPRF)[6] 是一个协议,其中发送方学习(或选择)一个随机的 PRF 种子
这项工作的核心基元,一个高效的 OPRF 协议,可以被看作是随机值的盲目传输(OT)的变种。我们通过修改 OT 扩展协议 [12,18] 的核心来构建它,其内部结构比之前的 OPRF 工作更接近 OT。因此,我们的介绍是以 OT 为中心的,结果以 OPRF 术语表述。
随机消息的 OT 与 OPRF 共享许多属性。在随机消息的 OT 中,发送方学习随机的
在这项工作中,我们提出了一个对 IKNP 和 KK 协议的新扩展。在与
我们称我们的主要协议为批量的密钥相关的 OPRF(BaRK-OPRF),因为它可以实现大量的 OPRF 实例,其密钥是相关的(以我们后面描述的方式)。这是一个新的基元,但对于我们所考虑的隐私集合求交集的应用来说,这已经足够了。
隐私集合求交集 (PSI):
隐私集合求交集(PSI)指的是两方各自持有项目集,并希望只了解这些集的交集的情况。今天,PSI 是一个真正实用的原始方法,有极快的加密安全实现 [27]。令人难以置信的是,这些实现只比交换散列值的朴素和不安全的方法慢了一个相对较小的系数。在安全计算的问题中,PSI 可能是实践中最强烈推动的一个。事实上,今天像 Facebook 这样的公司已经在例行地分享和挖掘共享信息 [25,31]。在 2012 年,(至少有一部分)这种共享是用不安全的朴素散列法进行的。今天,公司能够并且愿意容忍合理的性能损失,以实现更强的安全性 [31]。我们相信,随着大数据的规模越来越大,隐私成为一个更公认的问题,私人数据共享的普遍性和规模,尤其是 PSI,将继续增长。关于 PSI 的其他讨论和动机,我们请读者参考 [27, 28]。
在我们的工作中,我们通过用 BaRK-OPRF 替换其中的一个组件,大大改进了 [27] 的最先进的 PSI 协议。这一改变使得中等长度的字符串(
1.1 相关工作
不经意传输:我们的 BaRK-OPRF 协议可以被看作是 OPRF 协议,也是 IKNP [12] 范式中的不经意传输的变种。如第 1 节所述,鉴于其在安全计算中的关键重要性,IKNP 的 OT 扩展有一个令人惊讶的简短的后续改进、扩展和概括清单。
与我们最相关的前期工作是 KK 协议 [18],它从一个新的角度看待 IKNP OT,并提出了一个概括 IKNP 的框架。更具体地说,在 IKNP 协议中,玩家将接收者的选择位
我们的工作严格来说是在半诚实的安全模型中。其他关于 OT 扩展的工作将 IKNP 协议扩展到恶意模型 [2,14] 和 PVC(可公开验证的秘密)模型 [19]。
不经意伪随机函数:不经意伪随机函数是由 Freedman, Ishai, Pinkas, & Reingold [6] 提出。一般来说,先前最有效的 OPRF 协议需要昂贵的公钥操作,因为它们是基于代数 PRF 的。例如,[6] 的 OPRF 是基于 NaorReingold PRF [22] 的,因此需要进行指数运算。此外,它需要的 OT 数量与 PRF 输入的比特长度成正比。[3] 的协议从独特的盲签名方案中构建了一个 OPRF。[13] 的协议不经意地评估 Dodis Yampolskiy PRF [4] 的变体,因此需要指数化(以及其他代数加密组件以促进 OPRF 协议)。
隐私集合求交集:OPRF 有很多应用,但在本文中,我们深入探讨了对隐私集合求交集(PSI)的应用。我们只考虑半诚实的安全模型。我们的 PSI 协议与 Pinkas 等人 [27] 的协议关系最为密切,该协议本身是 [28] 先前协议的优化变体。我们在第 5 节详细描述了这个协议。
我们请读者参考 [28],以了解 PSI 的许多不同协议范式的概况。正如我们所提到的,基于 OT 的协议在实践中被证明是最快的。然而,我们确实指出,基于 OT 的协议并不具有最低的通信成本。在计算不是一个因素,但通信却很重要的情况下,最好的协议是那些在 [11] 中介绍的 Diffie-Hellman 范式。在这些协议的半诚实版本中,每一方只发送
虽然我们严格遵循 [28] 的范式,但我们用不经意伪随机函数 (OPRF) 的语言抽象出他们协议的一部分。OPRF 和 PSI 之间的联系已经在 [6] 中指出了。然而,使用 OPRF 实现 PSI 的最直接的方法需要一个 OPRF 协议,其中接收者可以在许多输入上评估 PRF,而我们的 OPRF 只允许接收者有一个评估点。OPRF 已经在其他地方被用于 PSI,一般是在恶意对抗模型中 [13, 10, 9]。
OPRF 的其他应用:就像标准 OPRF 一样,我们的 BaRK-OPRF 变体立即有效地暗示了 [6] 的关键字搜索功能(在 [17] 中也被称为 "字符串选择不经意传输(SOT)")。关键词搜索允许接收者
OPRFs 可用于安全模式匹配 [10,5],其中一方持有一个长文本
2 我们成果的技术概述
我们从 Ishai, Kilian, Nissim & Petrank(IKNP)[12] 的 OT 扩展范式开始。OT 扩展的目标是使用少量的 "基础 OT",加上仅有的对称密钥操作,以实现
我们遵循 [18] 的符号,因为它阐述了 OT 扩展的编码理论框架。假设接收方有选择位
现在让
正如 [12] 所指出的,只需假设
3 技术预案
我们用
3.1 相关性的稳健性
3.2 伪随机码
3.3 我们的不经意伪随机函数变体
3.3.1 我们的伪随机函数变体
3.3.2 我们的 BaRK-OPRF 功能
在图 1 中,我们正式描述了我们实现的变体 OPRF 功能。它生成了具有相关密钥的 PRF 的
图 1:批量的、密钥相关的 OPRF(BaRK-OPRF)的理想功能。
该功能由一个宽松的伪随机函数
在接收方的输入
- 选择随机成分作为伪随机函数的种子:
,并把这些交给发送方。 - 将
交给接收方。
4 主要结构
我们提出了我们的主要结构,这是一个针对图 1 中功能的半诚实的安全协议,并以定理 2 中定义的宽松 PRF 为例进行实例化。
4.1 符号
4.2 BaRK-OPRF 的结构
图 2:BaRK-OPRF 协议
参数:
- 一个
家族 ,输出长度为 。 - 一个
相关的稳健 。 - 一个理想的
原语。
协议:
选择一个随机的 并将其发送给 。 随机选择 。让 表示 的第 位。 以下列方式形成 矩阵 和 :
- 对于
,选择 ,并设置 。
让
和 以如下方式与 互动:
作为接收方,输入 。 作为发送方,输入 。 收到输出 。
$S$ 形成 $m×k$ 矩阵 $Q$ ,使得 $Q$ 的第 $i$ 列是向量 $q^i$ (注意 $q^i = t^i_{s_i}$ )。让 $q_j$ 表示 $Q$ 的第 $j$ 行。注意, $q_j = ((t_{0,j} ⊕t_{1,j} )\cdot s)⊕t_{0,j}$ 。简化后, $q_j = t_{0,j} ⊕(C(r_j) \cdot s)$ 。
对于
, 输出 PRF 种子 。 对于
, 输出松弛的 PRF 输出 。
5 改善隐私集合求交集
BaRK-OPRF 的主要应用是提高半诚实安全的隐私集合求交集(PSI)的性能。Pinkas 等人 [28] 对该模型中 PSI 的许多不同范式做了详尽的总结。
为了我们的目的,我们只总结了最有效的 PSI 协议,也就是 [28] 的基于 OT 的范式,包括后续工作 [27] 中建议的优化。以下我们把他们的协议称为 "PSSZ" 协议。
5.1 PSSZ 中隐含的 OPRF
PSSZ 的主要构件,私人平等测试,可以看作是一个基于随机 OT(即随机信息的不经意传输)的松弛 OPRF,它可以从 OT 扩展中有效地得到。该协议如下,Bob 有输入
- 双方进行
个 选 的随机 OT,Alice 作为接收者。Bob 作为接收方,使用 的比特作为他的选择比特。在第 个 OT 中,Alice 学习了随机字符串 和 ,而 Bob 学习了 。 - 定义映射
,其中 是一个随机预言机。然后,我们可以把 看作是一个 PRF,其密钥是 的值(Alice 知道)。鲍勃只在 上学习 的输出。更确切地说,他学到了松弛的输出 ,对其而言, 的所有其他输出都是伪随机的。
在这个描述中,我们把
不管是使用
5.2 基于 OPRF 的 PSI
我们现在描述 PSSZ 范式如何使用 OPRF 实现 PSI。整个 PSI 协议的这一部分在我们的实现和 [27] 的实现之间几乎是相同的(我们包括一个额外的小优化)。为了具体化,我们描述当双方有大致相同数量的 n 个项目时,在 PSSZ 中使用的参数。
该协议依赖于布谷鸟散列法 [26] 和
PSSZ 以如下方式将布谷鸟散列法用于 PSI。首先,双方选择
然后双方运行
另一方面,Alice 可以对任何
直观地说,根据 PRF 特性,该协议对半诚实的 Bob 是安全的。对于一个项目
只要 PRF 不引入任何进一步的碰撞(即
一个优化的过程:在上面的协议总结中,Bob 必须在集合
我们的修改工作如下。首先,Bob 为每一个没有被映射到储藏室的
然后在前
然后,Alice 计算出以下几组:
将哈希指数
通过我们的优化:(1)Alice 对 PRF 的所有调用(计算
回顾一下,只要 PRF 输出之间没有虚假碰撞,该协议就是正确的。由于发生虚假碰撞的机会最多只有
图 3:我们对 PSSZ PSI 协议的优化,以 OPRF 功能的方式编写
参数:Alice 有输入集
协议:
Bob 指定随机哈希函数
,并告诉 Alice。 Bob 用布谷鸟哈希将他的输入集
散列到 个仓中。让 Bob 为每个 记录 ,以便如果 ,则 放在储藏室,否则 在 仓中。将储藏室中的物品按任意顺序排列。 Bob 选择 OPRF 输入如下:对于
,如果 号仓是空的,那么设置 为一个假值;否则如果 在 号仓中,那么设置 。对于 ,如果储藏室中的位置 是 ,那么设置 ;否则设置 为假值。 双方调用
个 OPRF 实例,Bob 为接收方,输入为 。Alice 收到 ,Bob 收到所有 的 。 Alice 计算:
并向 Bob 发送每个集合的排列组合。 Bob 初始化一个空集
,并对 做如下处理:如果 ,并且 在储藏室的位置 ,并且 ,则 Bob 将 加入 。如果 且 ,则 Bob 将 加入 。 Bob 向爱丽丝发送
,双方都得到 。
5.3 比较 OPRF 子协议
6 实现与性能
我们实现了我们的 PSI 协议,并报告了它与最先进的 PSI 协议 [27] 的性能比较。我们的完整实现可以在 GitHub 上找到。
在我们的实现中,我们使用了与 PSSZ 一致或更严格的参数设置,并在我们的系统上运行他们和我们的代码,以便获得有意义的比较。与 PSSZ 一样,我们使用了来自 [1] 的矩阵转置代码和其他一些优化。
6.1 选择合适的参数
6.2 环境设置
6.3 实施细节
鸣谢
我们感谢 Peter Rindal 为我们的协议实现提供了库和有益的建议。我们也感谢 Michael Zohner 回答了我们关于实现 [27] 的许多问题。最后,我们感谢 CCS 的匿名审稿人提供的有益反馈。
第一作者由海军研究办公室(ONR)的合同号 N00014-14-C-0113 支持。第二位作者得到美国国家科学基金会资助 CNS-1350619 和 CNS-1414119 的支持,部分得到国防高级研究计划局(DARPA)和美国陆军研究办公室的合同 W911NF-15-C-0226 的支持,以及麻省理工学院转化奖学金。第三和第四位作者得到了美国国家科学基金会 1149647 号奖和谷歌研究奖的支持。这项工作是在前三位作者访问西蒙斯计算理论研究所时开始的,该研究所由西蒙斯基金会和 DIMACS / 西蒙斯密码学合作组织通过 NSF 资助 #CNS-1523467 支持。
参考文献
- Asharov, G., Lindell, Y., Schneider, T., and Zohner, M. More efficient oblivious transfer and extensions for faster secure computation. In Sadeghi et al. [29], pp. 535–548.
- Asharov, G., Lindell, Y., Schneider, T., and Zohner, M. More efficient oblivious transfer extensions with security for malicious adversaries. In EUROCRYPT 2015, Part I (Sofia, Bulgaria, Apr. 26–30, 2015), E. Oswald and M. Fischlin, Eds., vol. 9056 of LNCS, Springer, Heidelberg, Germany, pp. 673–701.
- Camenisch, J., Neven, G., and shelat, a. Simulatable adaptive oblivious transfer. In EUROCRYPT 2007 (Barcelona, Spain, May 20–24, 2007), M. Naor, Ed., vol. 4515 of LNCS, Springer, Heidelberg, Germany, pp. 573–590.
- Dodis, Y., and Yampolskiy, A. A verifiable random function with short proofs and keys. In PKC 2005 (Les Diablerets, Switzerland, Jan. 23–26, 2005), S. Vaudenay, Ed., vol. 3386 of LNCS, Springer, Heidelberg, Germany, pp. 416–431.
- Faust, S., Hazay, C., and Venturi, D. Outsourced pattern matching. In ICALP 2013, Part II (Riga, Latvia, July 8–12, 2013), F. V. Fomin, R. Freivalds, M. Z. Kwiatkowska, and D. Peleg, Eds., vol. 7966 of LNCS, Springer, Heidelberg, Germany, pp. 545–556.
- Freedman, M. J., Ishai, Y., Pinkas, B., and Reingold, O. Keyword search and oblivious pseudorandom functions. In TCC 2005 (Cambridge, MA, USA, Feb. 10–12, 2005), J. Kilian, Ed., vol. 3378 of LNCS, Springer, Heidelberg, Germany, pp. 303–324.
- Goldreich, O. Foundations of Cryptography, Volume 2: Basic Applications. Cambridge University Press, The address, 2004.
- Goldreich, O., Micali, S., and Wigderson, A. How to play any mental game or A completeness theorem for protocols with honest majority. In 19th ACM STOC (New York City” New York, USA, May 25–27, 1987), A. Aho, Ed., ACM Press, pp. 218–229.
- Hazay, C. Oblivious polynomial evaluation and secure set-intersection from algebraic PRFs. In TCC 2015, Part II (Warsaw, Poland, Mar. 23–25, 2015), Y. Dodis and J. B. Nielsen, Eds., vol. 9015 of LNCS, Springer, Heidelberg, Germany, pp. 90–120.
- Hazay, C., and Lindell, Y. Efficient protocols for set intersection and pattern matching with security against malicious and covert adversaries. Journal of Cryptology 23, 3 (July 2010), 422–456.
- Huberman, B. A., Franklin, M. K., and Hogg, T. Enhancing privacy and trust in electronic communities. In EC (1999), pp. 78–86.
- Ishai, Y., Kilian, J., Nissim, K., and Petrank, E. Extending oblivious transfers efficiently. In CRYPTO 2003 (Santa Barbara, CA, USA, Aug. 17–21, 2003), D. Boneh, Ed., vol. 2729 of LNCS, Springer, Heidelberg, Germany, pp. 145–161.
- Jarecki, S., and Liu, X. Efficient oblivious pseudorandom function with applications to adaptive OT and secure computation of set intersection. In TCC 2009 (Mar. 15–17, 2009), O. Reingold, Ed., vol. 5444 of LNCS, Springer, Heidelberg, Germany, pp. 577–594.
- Keller, M., Orsini, E., and Scholl, P. Actively secure OT extension with optimal overhead. In CRYPTO 2015, Part I (Santa Barbara, CA, USA, Aug. 16–20, 2015), R. Gennaro and M. J. B. Robshaw, Eds., vol. 9215 of LNCS, Springer, Heidelberg, Germany, pp. 724–741.
- Kilian, J. Founding cryptography on oblivious transfer. In 20th ACM STOC (Chicago, Illinois, USA, May 2–4, 1988), ACM Press, pp. 20–31.
- Kolesnikov, V. Gate evaluation secret sharing and secure one-round two-party computation. In ASIACRYPT 2005 (Chennai, India, Dec. 4–8, 2005), B. K. Roy, Ed., vol. 3788 of LNCS, Springer, Heidelberg, Germany, pp. 136–155.
- Kolesnikov, V., and Kumaresan, R. Improved secure two-party computation via information-theoretic garbled circuits. In SCN 12 (Amalfi, Italy, Sept. 5–7, 2012), I. Visconti and R. D. Prisco, Eds., vol. 7485 of LNCS, Springer, Heidelberg, Germany, pp. 205–221.
- Kolesnikov, V., and Kumaresan, R. Improved OT extension for transferring short secrets. In CRYPTO 2013, Part II (Santa Barbara, CA, USA, Aug. 18–22, 2013), R. Canetti and J. A. Garay, Eds., vol. 8043 of LNCS, Springer, Heidelberg, Germany, pp. 54–70.
- Kolesnikov, V., and Malozemoff, A. J. Public verifiability in the covert model (almost) for free. In ASIACRYPT 2015, Part II (Auckland, New Zealand, Nov. 30 – Dec. 3, 2015), T. Iwata and J. H. Cheon, Eds., vol. 9453 of LNCS, Springer, Heidelberg, Germany, pp. 210–235.
- Malkhi, D., Nisan, N., Pinkas, B., and Sella, Y. Fairplay—a secure two-party computation system. In Proceedings of the 13th Conference on USENIX Security Symposium - Volume 13 (Berkeley, CA, USA, 2004), SSYM’04, USENIX Association, pp. 20–20.
- Naor, M., and Pinkas, B. Efficient oblivious transfer protocols. In Proceedings of the Twelfth Annual ACM-SIAM Symposium on Discrete Algorithms (Philadelphia, PA, USA, 2001), SODA ’01, Society for Industrial and Applied Mathematics, pp. 448–457.
- Naor, M., and Reingold, O. Number-theoretic constructions of efficient pseudo-random functions. Journal of the ACM 51, 2 (2004), 231–262.
- Nielsen, J. B. Extending oblivious transfers efficiently how to get robustness almost for free. Cryptology ePrint Archive, Report 2007/215, 2007. ia.cr/2007/215.
- Nielsen, J. B., Nordholt, P. S., Orlandi, C., and Burra, S. S. A new approach to practical active-secure two-party computation. In CRYPTO 2012 (Santa Barbara, CA, USA, Aug. 19–23, 2012), R. Safavi-Naini and R. Canetti, Eds., vol. 7417 of LNCS, Springer, Heidelberg, Germany, pp. 681–700.
- Opsahl, K. The disconcerting details: How Facebook teams up with data brokers to show you targeted ads. https://www.eff.org/deeplinks/2013/04/disconcertingdetails-how-facebook-teams-data-brokers-show-youtargeted-ads, 2013. [Online; accessed 23-May-2016].
- Pagh, R., and Rodler, F. F. Cuckoo hashing. J. Algorithms 51, 2 (2004), 122–144.
- Pinkas, B., Schneider, T., Segev, G., and Zohner, M. Phasing: Private set intersection using permutation-based hashing. In 24th USENIX Security Symposium, USENIX Security 15 (2015), J. Jung and T. Holz, Eds., USENIX Association, pp. 515–530.
- Pinkas, B., Schneider, T., and Zohner, M. Faster private set intersection based on OT extension. In 23rd USENIX Security Symposium, USENIX Security 14 (2014), K. Fu and J. Jung, Eds., USENIX Association, pp. 797–812.
- Sadeghi, A.-R., Gligor, V. D., and Yung, M., Eds. ACM CCS 13 (Berlin, Germany, Nov. 4–8, 2013), ACM Press.
- Yao, A. C.-C. How to generate and exchange secrets (extended abstract). In 27th FOCS (Toronto, Ontario, Canada, Oct. 27–29, 1986), IEEE Computer Society Press, pp. 162–167.
- Yung, M. From mental poker to core business: Why and how to deploy secure computation protocols? https://www.sigsac.org/ccs/CCS2015/pro keynote.html, 2015. ACM CCS 2015 Keynote Talk.